To sum up:
The vanishing vertical tab bar was fixed by setting its background color to clear: it appears that (when a tab bar button is not pressed) the background renders on top of the tab bar items, not behind them.
Setting my views‘ self.edgesForExtendedLayout = UIRectEdgeAll not only made my views render edge-to-edge, it made my safe area insets start working to keep my content out from under the nav bar automatically, with no additional fiddling on my part — and my content now works perfectly with the upscrolling nav bar on the Duo.
Topic:
UI Frameworks
SubTopic:
UIKit